{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# Analyzing Chinook Database using SQL and Python\n",
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We'll be working with a modified version of a database called [Chinook](https://github.com/lerocha/chinook-database). The Chinook database contains information about a fictional digital music shop.\n",
    "\n",
    "The Chinook database contains information about the artists, songs, and albums from the music shop, as well as information on the shop's employees, customers, and the customers purchases. This information is contained in eleven tables.\n",
    "\n",
    "The Chinook database is provided as a SQLite database file called `chinook.db`. It's worth remembering that our database retains 'state', so if we run a query with a `CREATE` or `DROP` twice, the query will fail. If the database gets locked, there's a `chinook-unmodified.db` file that can be copied over the `chinook.db` to restore it back to its initial state.\n",
    "\n",
    "Here's a schema diagram for the Chinook database:\n",
    "\n",
    "![alt text](chinook-schema.svg \"Chinook Database Schema Diagram\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Defining Helper Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sqlite3\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib import cm\n",
    "import numpy as np\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "db = 'chinook.db'\n",
    "\n",
    "def run_query(q):\n",
    "    with sqlite3.connect(db) as conn:\n",
    "        return pd.read_sql(q,conn)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "def run_command(c):\n",
    "    with sqlite3.connect(db) as conn:\n",
    "        conn.isolation_level = None\n",
    "        conn.execute(c) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>album</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>artist</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>customer</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>employee</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>genre</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>invoice</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>invoice_line</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>media_type</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>playlist</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>playlist_track</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>track</td>\n",
       "      <td>table</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              name   type\n",
       "0            album  table\n",
       "1           artist  table\n",
       "2         customer  table\n",
       "3         employee  table\n",
       "4            genre  table\n",
       "5          invoice  table\n",
       "6     invoice_line  table\n",
       "7       media_type  table\n",
       "8         playlist  table\n",
       "9   playlist_track  table\n",
       "10           track  table"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def show_tables():\n",
    "    q = '''\n",
    "        SELECT\n",
    "            name,\n",
    "            type\n",
    "        FROM sqlite_master\n",
    "        WHERE type IN (\"table\",\"view\");\n",
    "        '''\n",
    "    return run_query(q)\n",
    "\n",
    "show_tables()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Selecting Albums to Purchase"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Chinook record store has just signed a deal with a new record label, and we've been tasked with selecting the first three albums that will be added to the store, from a list of four. \n",
    "\n",
    "All four albums are by artists that don't have any tracks in the store right now - we have the artist names, and the genre of music they produce:\n",
    "\n",
    "| __Artist Name__    | __Genre__ |\n",
    "|:------------------:|:---------:|\n",
    "|Regal               |Hip-Hop    |\n",
    "|Red Tone            |Punk       |\n",
    "|Meteor and the Girls|Pop        |\n",
    "|Slim Jim Bites      |Blues      |\n",
    "\n",
    "The record label specializes in artists from the USA, and they have given Chinook some money to advertise the new albums in the USA, so we're interested in finding out which genres sell the best in the USA."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Genre</th>\n",
       "      <th>Number of Tracks Sold</th>\n",
       "      <th>Percentage of Tracks Sold</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Rock</td>\n",
       "      <td>561</td>\n",
       "      <td>0.533777</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Alternative &amp; Punk</td>\n",
       "      <td>130</td>\n",
       "      <td>0.123692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Metal</td>\n",
       "      <td>124</td>\n",
       "      <td>0.117983</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>R&amp;B/Soul</td>\n",
       "      <td>53</td>\n",
       "      <td>0.050428</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Blues</td>\n",
       "      <td>36</td>\n",
       "      <td>0.034253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Alternative</td>\n",
       "      <td>35</td>\n",
       "      <td>0.033302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Latin</td>\n",
       "      <td>22</td>\n",
       "      <td>0.020932</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Pop</td>\n",
       "      <td>22</td>\n",
       "      <td>0.020932</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Hip Hop/Rap</td>\n",
       "      <td>20</td>\n",
       "      <td>0.019029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Jazz</td>\n",
       "      <td>14</td>\n",
       "      <td>0.013321</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                Genre  Number of Tracks Sold  Percentage of Tracks Sold\n",
       "0                Rock                    561                   0.533777\n",
       "1  Alternative & Punk                    130                   0.123692\n",
       "2               Metal                    124                   0.117983\n",
       "3            R&B/Soul                     53                   0.050428\n",
       "4               Blues                     36                   0.034253\n",
       "5         Alternative                     35                   0.033302\n",
       "6               Latin                     22                   0.020932\n",
       "7                 Pop                     22                   0.020932\n",
       "8         Hip Hop/Rap                     20                   0.019029\n",
       "9                Jazz                     14                   0.013321"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "albums_to_purchase = '''\n",
    "WITH \n",
    "    usa_tracks_sold AS\n",
    "        (\n",
    "         SELECT il.* FROM invoice_line il\n",
    "         INNER JOIN invoice i ON il.invoice_id = i.invoice_id\n",
    "         INNER JOIN customer c ON i.customer_id = c.customer_id\n",
    "         WHERE c.country = \"USA\" \n",
    "        )\n",
    "SELECT \n",
    "    g.name Genre, \n",
    "    COUNT(uts.invoice_line_id) \"Number of Tracks Sold\", \n",
    "    CAST(COUNT(uts.invoice_line_id) AS FLOAT)/(SELECT COUNT(*) FROM usa_tracks_sold) \"Percentage of Tracks Sold\"\n",
    "FROM usa_tracks_sold uts\n",
    "INNER JOIN track t ON uts.track_id = t.track_id\n",
    "INNER JOIN genre g ON t.genre_id = g.genre_id\n",
    "GROUP BY 1 \n",
    "ORDER BY 2 DESC\n",
    "LIMIT 10;\n",
    "'''\n",
    "\n",
    "run_query(albums_to_purchase)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nLWXdunVUVFQwbdo0pkyZQmVlZZPGZmaWa812pJgSzNFAN0kBtAYC+PmmdgPKImJZnba+AqyrU/f9\nrOUaoI2knVL7pRGxStIoMol1c+4DBgLPA7+OiEjTsZMi4soG7N+k3njjDQoKCigsLKSqqorHH3+c\nyy+/HMicYxw3bhyPPvooy5f/MGmLAAAS5UlEQVQv3zAirj3X2LZt0yZtM7Ncas4jxdOAyRGxV0R0\niYgvAi8BnbPqvAPsmrX+O+C7WecHt/SEWG0CfDOdzzxtE8fK9hCZqd5BZBIkwBPAaZI6plg6SNpr\nC+NpFK+++ipHHXUUxcXF9OrVi379+nHSSScBcNttt3HWWWfRtm1biouLiQi6d+/OYYcdRmFhYZ4j\nNzP7dJrtSJFMgvlRnbIHgauy1mfz0XTpD4ExwFhgSUqMK4GTGnrAiFgj6RfA0rTvgqzNE4E7JFWR\nOT+Zvd/bkp4DDoiI+ansOUkjyFzY0wqoBr4D/L2h8TSW4uJiFi1aVO+2iy++eMOyJKZOndpUYZmZ\nNTpFRL5jsC1QWloa5eXl+Q7DzKxZkbQwIko3V685T5+amZnllJOimZlZ4qRoZmaWOCmamZklTopm\nZmaJk6KZmVnipGhmZpY4KZqZmSVOimZmZomTopmZWdKc7326XVq9bjWj5o9qcP1RhzS8rpnZ9s4j\nRTMzs8RJcTu1atUqjjrqKLp27cqBBx7IuHHjALj88sspLi5myJAhG+pOmTJlw3Yzs5bMSTHHJNVI\nWiypQtL9krbJp+62adOGm2++mb/+9a88/fTT3HbbbTz77LPMmzePJUuWUFNTw9KlS6mqqmLixIlc\ncMEF+Q7ZzKzROSnmXlVElEREN2A9cH6+A6pPp06dOOiggwDYdddd6dq1Ky+//DLr168nIqiqqqKg\noIAbb7yRiy66iIKCgjxHbGbW+JwUG9dTwD4Aki5Jo8cKSRensi6Snpc0SdISSQ/kY2S5cuVKFi1a\nxJFHHklZWRk9e/Zk7733pn379ixYsID+/fs3dUhmZnnhpNhIJLUBvgYslXQw8E3gK8ChwHmSeqaq\nXwbGR0Qx8G/gE/OUkoZJKpdUXrmmMqdxvvvuu5SVlTF27Fh22203hg8fzuLFi7n55psZOXIko0eP\nZsKECQwcOJDrr78+p8c2M9vWOCnm3s6SFgPlwMvAXcDhwK8jYl1EvAs8BByR6q+KiLlp+Zep7sdE\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1093da1d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "genre_sales_usa = run_query(albums_to_purchase)\n",
    "genre_sales_usa.set_index('Genre', drop=True, inplace=True)\n",
    "genre_sales_usa.sort_values('Number of Tracks Sold', inplace=True)\n",
    "genre_sales_usa['Number of Tracks Sold'].plot.barh(\n",
    "        title=\"Top Selling Genres in the USA\",\n",
    "        xlim=(0, 625),\n",
    "        colormap=plt.cm.Accent\n",
    ")\n",
    "\n",
    "plt.ylabel('')\n",
    "\n",
    "for i, label in enumerate(list(genre_sales_usa.index)):\n",
    "    score = genre_sales_usa.loc[label, \"Number of Tracks Sold\"]\n",
    "    label = (genre_sales_usa.loc[label, \"Percentage of Tracks Sold\"] * 100\n",
    "            ).astype(int).astype(str) + \"%\"\n",
    "    plt.annotate(str(label), (score + 10, i - 0.15))\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Observations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Based on the sales of tracks across different genres in the USA, we should purchase the new albums by the following artists:\n",
    "\n",
    "- Red Tone (Punk)\n",
    "- Slim Jim Bites (Blues)\n",
    "- Meteor and the Girls (Pop)\n",
    "\n",
    "It's worth keeping in mind that combined, these three genres only make up only 17% of total sales, so we should be on the lookout for artists and albums from the 'rock' genre, which accounts for 53% of sales."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyzing Employee Sales Performance"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Each customer for the Chinook store gets assigned to a sales support agent within the company when they first make a purchase. We have been asked to analyze the purchases of customers belonging to each employee to see if any sales support agent is performing either better or worse than the others."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Employee Name</th>\n",
       "      <th>Hire Date</th>\n",
       "      <th>Amount of Sales (in $)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Jane Peacock</td>\n",
       "      <td>2017-04-01 00:00:00</td>\n",
       "      <td>1731.51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Margaret Park</td>\n",
       "      <td>2017-05-03 00:00:00</td>\n",
       "      <td>1584.00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Steve Johnson</td>\n",
       "      <td>2017-10-17 00:00:00</td>\n",
       "      <td>1393.92</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Employee Name            Hire Date  Amount of Sales (in $)\n",
       "0   Jane Peacock  2017-04-01 00:00:00                 1731.51\n",
       "1  Margaret Park  2017-05-03 00:00:00                 1584.00\n",
       "2  Steve Johnson  2017-10-17 00:00:00                 1393.92"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "employee_sales_performance = '''\n",
    "WITH \n",
    "    customer_support_rep_sales AS\n",
    "        (\n",
    "         SELECT \n",
    "             i.customer_id,\n",
    "             c.support_rep_id,\n",
    "             SUM(i.total) Sales_Total\n",
    "         FROM invoice i\n",
    "         INNER JOIN customer c ON c.customer_id = i.customer_id\n",
    "         GROUP BY 2\n",
    "        )\n",
    "SELECT\n",
    "    e.first_name || \" \" || e.last_name \"Employee Name\",\n",
    "    e.hire_date \"Hire Date\",\n",
    "    SUM(csrs.Sales_total) \"Amount of Sales (in $)\"\n",
    "FROM customer_support_rep_sales csrs\n",
    "INNER JOIN employee e ON csrs.support_rep_id = e.employee_id\n",
    "GROUP BY 1;\n",
    "'''\n",
    "\n",
    "run_query(employee_sales_performance)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nmtl83yAIAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1093dae10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "employee_sales = run_query(employee_sales_performance)\n",
    "\n",
    "employee_sales.set_index(\"Employee Name\", drop=True, inplace=True)\n",
    "employee_sales.sort_values(\"Amount of Sales (in $)\", inplace=True)\n",
    "employee_sales.plot.barh(\n",
    "    legend=False,\n",
    "    title='Sales Breakdown by Employee',\n",
    "    colormap=plt.cm.Accent\n",
    ")\n",
    "plt.ylabel('')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Observations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "While there is a 20% difference in sales between Jane (the top employee) and Steve (the bottom employee), the difference roughly corresponds with the differences in their hiring dates."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Analyzing Sales by Country"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our next task is to analyze the sales data for customers from each different country. We have been given guidance to use the country value from the `customers` table, and ignore the country from the billing address in the `invoice` table.\n",
    "\n",
    "In particular, you have been directed to calculate data, for each country, on the:\n",
    "\n",
    "- total number of customers\n",
    "- total value of sales\n",
    "- average value of sales per customer\n",
    "- average order value\n",
    "\n",
    "Because there are a number of countries with only one customer, we should group these customers as \"Other\" in our analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Country</th>\n",
       "      <th>Total Number of Customers</th>\n",
       "      <th>Total Sales</th>\n",
       "      <th>Average Order Value</th>\n",
       "      <th>Average Value of Sales per Customer</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>USA</td>\n",
       "      <td>13</td>\n",
       "      <td>1040.49</td>\n",
       "      <td>7.942672</td>\n",
       "      <td>80.037692</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Canada</td>\n",
       "      <td>8</td>\n",
       "      <td>535.59</td>\n",
       "      <td>7.047237</td>\n",
       "      <td>66.948750</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Brazil</td>\n",
       "      <td>5</td>\n",
       "      <td>427.68</td>\n",
       "      <td>7.011148</td>\n",
       "      <td>85.536000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>France</td>\n",
       "      <td>5</td>\n",
       "      <td>389.07</td>\n",
       "      <td>7.781400</td>\n",
       "      <td>77.814000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Germany</td>\n",
       "      <td>4</td>\n",
       "      <td>334.62</td>\n",
       "      <td>8.161463</td>\n",
       "      <td>83.655000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Czech Republic</td>\n",
       "      <td>2</td>\n",
       "      <td>273.24</td>\n",
       "      <td>9.108000</td>\n",
       "      <td>136.620000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>United Kingdom</td>\n",
       "      <td>3</td>\n",
       "      <td>245.52</td>\n",
       "      <td>8.768571</td>\n",
       "      <td>81.840000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>Portugal</td>\n",
       "      <td>2</td>\n",
       "      <td>185.13</td>\n",
       "      <td>6.383793</td>\n",
       "      <td>92.565000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>India</td>\n",
       "      <td>2</td>\n",
       "      <td>183.15</td>\n",
       "      <td>8.721429</td>\n",
       "      <td>91.575000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Other</td>\n",
       "      <td>15</td>\n",
       "      <td>1094.94</td>\n",
       "      <td>7.448571</td>\n",
       "      <td>72.996000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Country  Total Number of Customers  Total Sales  \\\n",
       "0             USA                         13      1040.49   \n",
       "1          Canada                          8       535.59   \n",
       "2          Brazil                          5       427.68   \n",
       "3          France                          5       389.07   \n",
       "4         Germany                          4       334.62   \n",
       "5  Czech Republic                          2       273.24   \n",
       "6  United Kingdom                          3       245.52   \n",
       "7        Portugal                          2       185.13   \n",
       "8           India                          2       183.15   \n",
       "9           Other                         15      1094.94   \n",
       "\n",
       "   Average Order Value  Average Value of Sales per Customer  \n",
       "0             7.942672                            80.037692  \n",
       "1             7.047237                            66.948750  \n",
       "2             7.011148                            85.536000  \n",
       "3             7.781400                            77.814000  \n",
       "4             8.161463                            83.655000  \n",
       "5             9.108000                           136.620000  \n",
       "6             8.768571                            81.840000  \n",
       "7             6.383793                            92.565000  \n",
       "8             8.721429                            91.575000  \n",
       "9             7.448571                            72.996000  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sales_by_country = '''\n",
    "WITH country_or_other AS\n",
    "    (\n",
    "     SELECT\n",
    "       CASE\n",
    "           WHEN (\n",
    "                 SELECT count(*)\n",
    "                 FROM customer\n",
    "                 where country = c.country\n",
    "                ) = 1 THEN \"Other\"\n",
    "           ELSE c.country\n",
    "       END AS country,\n",
    "       c.customer_id,\n",
    "       il.*\n",
    "     FROM invoice_line il\n",
    "     INNER JOIN invoice i ON i.invoice_id = il.invoice_id\n",
    "     INNER JOIN customer c ON c.customer_id = i.customer_id\n",
    "    )\n",
    "\n",
    "SELECT\n",
    "    country Country,\n",
    "    customers \"Total Number of Customers\",\n",
    "    total_sales \"Total Sales\",\n",
    "    average_order \"Average Order Value\",\n",
    "    customer_lifetime_value \"Average Value of Sales per Customer\"\n",
    "FROM\n",
    "    (\n",
    "    SELECT\n",
    "        country,\n",
    "        count(distinct customer_id) customers,\n",
    "        SUM(unit_price) total_sales,\n",
    "        SUM(unit_price) / count(distinct customer_id) customer_lifetime_value,\n",
    "        SUM(unit_price) / count(distinct invoice_id) average_order,\n",
    "        CASE\n",
    "            WHEN country = \"Other\" THEN 1\n",
    "            ELSE 0\n",
    "        END AS sort\n",
    "    FROM country_or_other\n",
    "    GROUP BY country\n",
    "    ORDER BY sort ASC, total_sales DESC\n",
    "    );\n",
    "'''\n",
    "\n",
    "run_query(sales_by_country)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualizing Sales by Country"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now that we have our data, we've been asked to create a series of visualizations which communicate our findings, and then make recommendations on which countries may have potential for growth, so the Chinook marketing team can create some new advertising campaigns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nuAb4S9sPdbm9iBh+7wXOlDQHWAYcTvXh6ixJRwB3AQc12L+ImIGOChJJFwLPafPUscApwAmA68d/\nAN7eSXsREbavB+a1eWqvXvclIsrpqCCxvfdUXifpi8B3OmkrIiIihlc377LZtOXwQODGbrUVERER\ng62bc0hOlPRSqks2dwLv7mJbERERMcC6VpDYPrRbsSMiImK45LbfiIiIaFwKkoiIiGhcCpKIiIho\nXAqSiIiIaFwKkoiIiGhcCpKIiIhoXAqSiIiIaFwKkoiIiGhcCpKIiIhoXAqSiIiIaFwKkoiIiGhc\nCpKIiIhoXAqSiIiIaFwKkoiIiGhcCpKIiIhoXAqSiIiIaFwKkoiIiGhcCpKIGDiSVpd0naTv1Mdb\nS7pS0m2Svi5pTtN9jIjpSUESEYPo/cDSluNPAp+xvQ3wEHBEI72KiBnrqCCRdJCkmyQ9KWnemOc+\nIul2SbdK2qezbkZEVCRtDrwe+FJ9LGBP4Jv1S84ADmimdxExU52OkNwIvAm4rPWkpO2AtwLbA/sC\nn5e0eodtRUQAfBb4IPBkffw7wMO2V9THy4HNmuhYRMxcRwWJ7aW2b23z1P7AQtuP2b4DuB2Y30lb\nERGS3gDcZ3tx6+k2L3WPuhQRhazRpbibAVe0HOcTS0SUsBuwn6TXAWsCz6IaMdlA0hr1KMnmwM8a\n7GNEzMCkIySSLpR0Y5uv/Sd6W5tz+cQSER2x/RHbm9veiuqy8A9sHwJcDLylftlhwNkNdTEiZmjS\nERLbe88g7nJgi5bjvv/EsmD+gqa7EBEz9yFgoaSPAdcBpzXcn4iYpm5dsjkH+Kqkk4DnAtsAV3Wp\nrYiYhWxfAlxSf7+MzFOLGGgdFSSSDgROBjYCvivpetv72L5J0lnAzcAK4CjbKzvv7uDKCExERMT4\nOipIbC8CFo3z3MeBj3cSPyIiImaHrNQaERERjUtBEhEREY1LQRIRERGNS0ESERERjUtBEhEREY1L\nQRIRERGNS0ESERERjUtBEhEREY1LQRIRERGNS0ESERERjUtBEhEREY1LQRIRERGNS0ESERERjUtB\nEhEREY1LQRIRERGNS0ESERERjUtBEhEREY1LQRIRERGNS0ESERERjUtBEhEDQ9IWki6WtFTSTZLe\nX5+fK+kCSbfVjxs23deImJ6OChJJB9VJ4UlJ81rObyXpN5Kur7++0HlXIyJYAfyl7RcBLweOkrQd\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x109e5cba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "country_metrics = run_query(sales_by_country)\n",
    "country_metrics.set_index(\"Country\", drop=True, inplace=True)\n",
    "colors = [plt.cm.Accent(i) for i in np.linspace(0, 1, country_metrics.shape[0])]\n",
    "\n",
    "fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(9, 10))\n",
    "ax1, ax2, ax3, ax4 = axes.flatten()\n",
    "fig.subplots_adjust(hspace=.5, wspace=.3)\n",
    "\n",
    "# top left\n",
    "sales_breakdown = country_metrics[\"Total Sales\"].copy().rename('')\n",
    "sales_breakdown.plot.pie(\n",
    "    ax=ax1,\n",
    "    startangle=-90,\n",
    "    counterclock=False,\n",
    "    title='Sales Breakdown by Country,\\nNumber of Customers',\n",
    "    colormap=plt.cm.Accent,\n",
    "    fontsize=8,\n",
    "    wedgeprops={'linewidth':0}\n",
    ")\n",
    "\n",
    "# top right\n",
    "cvd_cols = [\"Total Number of Customers\",\"Total Sales\"]\n",
    "custs_vs_dollars = country_metrics[cvd_cols].copy()\n",
    "custs_vs_dollars.index.name = ''\n",
    "for c in cvd_cols:\n",
    "    custs_vs_dollars[c] /= custs_vs_dollars[c].sum() / 100\n",
    "custs_vs_dollars.plot.bar(\n",
    "    ax=ax2,\n",
    "    colormap=plt.cm.Set1,\n",
    "    title=\"Pct Customers vs Sales\"\n",
    ")\n",
    "ax2.tick_params(top=\"off\", right=\"off\", left=\"off\", bottom=\"off\")\n",
    "ax2.spines[\"top\"].set_visible(False)\n",
    "ax2.spines[\"right\"].set_visible(False)\n",
    "\n",
    "\n",
    "# bottom left\n",
    "avg_order = country_metrics[\"Average Order Value\"].copy()\n",
    "avg_order.index.name = ''\n",
    "difference_from_avg = avg_order * 100 / avg_order.mean() - 100\n",
    "difference_from_avg.drop(\"Other\", inplace=True)\n",
    "difference_from_avg.plot.bar(\n",
    "    ax=ax3,\n",
    "    color=colors,\n",
    "    title=\"Average Order,\\nPct Difference from Mean\"\n",
    ")\n",
    "ax3.tick_params(top=\"off\", right=\"off\", left=\"off\", bottom=\"off\")\n",
    "ax3.axhline(0, color='k')\n",
    "ax3.spines[\"top\"].set_visible(False)\n",
    "ax3.spines[\"right\"].set_visible(False)\n",
    "ax3.spines[\"bottom\"].set_visible(False)\n",
    "\n",
    "# bottom right\n",
    "ltv = country_metrics[\"Average Value of Sales per Customer\"].copy()\n",
    "ltv.index.name = ''\n",
    "ltv.drop(\"Other\",inplace=True)\n",
    "ltv.plot.bar(\n",
    "    ax=ax4,\n",
    "    color=colors,\n",
    "    title=\"Customer Lifetime Value, Dollars\"\n",
    ")\n",
    "ax4.tick_params(top=\"off\", right=\"off\", left=\"off\", bottom=\"off\")\n",
    "ax4.spines[\"top\"].set_visible(False)\n",
    "ax4.spines[\"right\"].set_visible(False)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Albums vs Individual Tracks, Part 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Chinook store allows customers to either purchase a whole album, or to purchase one or more individual tracks.\n",
    "\n",
    "Management are currently considering changing their purchasing strategy to save money. The strategy they are considering is to purchase only the most popular tracks from each album from record companies, instead of purchasing every track from an album.\n",
    "\n",
    "We have been asked to find out what percentage of purchases are individual tracks vs whole albums, so that management can use this data to make their decision.\n",
    "\n",
    "In order to answer this question, we're going to have to identify whether each invoice has all the tracks from an album. We can do this by getting the list of tracks from an invoice and comparing it to the list of tracks from an album. We can find the album to compare the purchase to by looking up the album that one of the purchased tracks belongs to. It doesn't matter which track we pick, since if it's an album purchase, that album will be the same for all tracks."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>album_purchase</th>\n",
       "      <th>number_of_invoices</th>\n",
       "      <th>percent</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NO</td>\n",
       "      <td>497</td>\n",
       "      <td>0.809446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>YES</td>\n",
       "      <td>117</td>\n",
       "      <td>0.190554</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  album_purchase  number_of_invoices   percent\n",
       "0             NO                 497  0.809446\n",
       "1            YES                 117  0.190554"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "albums_vs_tracks = '''\n",
    "WITH invoice_first_track AS\n",
    "    (\n",
    "     SELECT \n",
    "         il.invoice_id invoice_id,\n",
    "         MIN(il.track_id) first_track_id\n",
    "     FROM invoice_line il\n",
    "     GROUP BY 1\n",
    "    )\n",
    "SELECT\n",
    "    album_purchase,\n",
    "    COUNT(invoice_id) number_of_invoices,\n",
    "    CAST(COUNT(invoice_id) AS float)/(SELECT COUNT(*) FROM invoice) percent\n",
    "FROM\n",
    "    (\n",
    "     SELECT\n",
    "         ift.*,\n",
    "         CASE\n",
    "             WHEN (\n",
    "                 SELECT\n",
    "                     t.track_id\n",
    "                 FROM track t\n",
    "                 WHERE t.album_id = (\n",
    "                                      SELECT\n",
    "                                          t2.album_id\n",
    "                                      FROM track t2\n",
    "                                      WHERE t2.track_id = ift.first_track_id\n",
    "                 )\n",
    "                 EXCEPT\n",
    "                    SELECT\n",
    "                        il2.track_id \n",
    "                    FROM invoice_line il2\n",
    "                    WHERE il2.invoice_id = ift.invoice_id\n",
    "                   )\n",
    "              IS NULL THEN \"YES\"\n",
    "              ELSE \"NO\"\n",
    "              END AS album_purchase\n",
    "      FROM invoice_first_track ift  \n",
    "    )\n",
    "GROUP BY album_purchase;\n",
    "'''\n",
    "run_query(albums_vs_tracks)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Albums vs Individual Tracks, Part 2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There is an extra layer of complexity that we haven't accounted for in our previous query - the Chinook store prevents customers from buying the same track twice, so an album purchase won't include every track from the album if the customer already owns one or more tracks.\n",
    "\n",
    "We'll need to account for this in our query. Instead of comparing just the tracks from that purchase to the tracks in the album, we'll also have to take into account all tracks purchased by that user, from that album, up until that particular invoice."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>album_purchase</th>\n",
       "      <th>number_of_invoices</th>\n",
       "      <th>percent</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NO</td>\n",
       "      <td>475</td>\n",
       "      <td>0.773616</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>YES</td>\n",
       "      <td>139</td>\n",
       "      <td>0.226384</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  album_purchase  number_of_invoices   percent\n",
       "0             NO                 475  0.773616\n",
       "1            YES                 139  0.226384"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "albums_vs_tracks_2 = '''\n",
    "WITH invoice_first_track AS\n",
    "    (\n",
    "     SELECT \n",
    "         il.invoice_id invoice_id,\n",
    "         i.customer_id,\n",
    "         MIN(il.track_id) first_track_id\n",
    "     FROM invoice_line il\n",
    "     INNER JOIN invoice i ON i.invoice_id = il.invoice_id\n",
    "     GROUP BY 1\n",
    "    )\n",
    "SELECT\n",
    "    album_purchase,\n",
    "    COUNT(invoice_id) number_of_invoices,\n",
    "    CAST(COUNT(invoice_id) AS float)/(SELECT COUNT(*) FROM invoice) percent\n",
    "FROM\n",
    "    (\n",
    "     SELECT\n",
    "         ift.*,\n",
    "         t.album_id,\n",
    "         CASE\n",
    "             WHEN (\n",
    "                    SELECT\n",
    "                        t3.track_id\n",
    "                    FROM track t3\n",
    "                    WHERE t3.album_id = t.album_id\n",
    "                 \n",
    "                    EXCEPT\n",
    "                 \n",
    "                    SELECT\n",
    "                        il2.track_id \n",
    "                    FROM invoice_line il2\n",
    "                    INNER JOIN invoice i2 ON i2.invoice_id = il2.invoice_id\n",
    "                    INNER JOIN track t2 ON t2.track_id = il2.track_id\n",
    "                    WHERE il2.invoice_id <= ift.invoice_id\n",
    "                    AND i2.customer_id = ift.customer_id\n",
    "                    AND t2.album_id = t.album_id\n",
    "                   )\n",
    "              IS NULL THEN \"YES\"\n",
    "              ELSE \"NO\"\n",
    "              END AS album_purchase\n",
    "      FROM invoice_first_track ift\n",
    "      INNER JOIN track t ON ift.first_track_id = t.track_id\n",
    "    )\n",
    "GROUP BY 1;\n",
    "'''\n",
    "run_query(albums_vs_tracks_2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Observations"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Album purchases account for 22.6% of purchases. Based on this data, I would recommend against purchasing only select tracks from albums from record companies, since there is potential to lose one fifth of revenue."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
